package com.ruoyi.domain.purchase;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 采购入库明细表对象 mes_purchase_receipt_item
 *
 * @author ruoyi
 * @date 2024-01-01
 */
@Data
public class MesPurchaseReceiptItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 明细ID */
    private Long itemId;

    /** 入库单ID */
    @Excel(name = "入库单ID")
    private Long receiptId;

    /** 物料ID */
    @Excel(name = "物料ID")
    private Long materialId;

    /** 物料编码 */
    @Excel(name = "物料编码")
    private String materialCode;

    /** 物料名称 */
    @Excel(name = "物料名称")
    private String materialName;

    /** 规格型号 */
    @Excel(name = "规格型号")
    private String specification;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 批次号 */
    @Excel(name = "批次号")
    private String batchCode;

    /** 入库数量 */
    @Excel(name = "入库数量")
    private BigDecimal quantity;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 总价 */
    @Excel(name = "总价")
    private BigDecimal totalPrice;

    /** 生产日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生产日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date productionDate;

    /** 过期日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expiryDate;

    /** 质量状态（QUALIFIED合格 UNQUALIFIED不合格 PENDING待检） */
    @Excel(name = "质量状态", readConverterExp = "QUALIFIED=合格,UNQUALIFIED=不合格,PENDING=待检")
    private String qualityStatus;

    /** 库位 */
    @Excel(name = "库位")
    private String location;
}